Monoidal montones are examples of monoidal functors, specifically lax ones. Oplax functors are a dual notion which has the inequalities reversed.
A monoidal monotone map from \((P,\leq_P,I_P,\otimes_P)\) to \((Q, \leq_Q,I_Q,\otimes_Q)\). Also, a strong monoidal monotone map and a strict monoidal monotone map
A monotone map \((P,\leq_P) \xrightarrow{f} (Q,\leq_Q)\) satsifying two conditions:
\(I_Q \leq_Q f(I_P)\)
\(\forall p_1,p_2 \in P:\) \(f(p_1)\ \otimes_Q\ f(p_2)\ \leq_Q\ f(p_1\ \otimes_P\ p_2)\)
If the \(\leq\) are replaced with \(\cong\), the map is strong, and if replaced with \(=\), it is strict.
Strict monoidal monotone injection \((\mathbb{N},\leq, 0, +) \xhookrightarrow{i} (\mathbb{R},\leq,0,+)\)
There is also a monoidal monotone \((\mathbb{R}^+,\leq, 0, +) \xrightarrow{\lfloor x \rfloor} (\mathbb{N},\leq,0,+)\)
Monotonic: \(x \leq_\mathbb{R} y \implies \lfloor x \rfloor \leq \lfloor y \rfloor\)
But it is neither strict nor strong: \(\lfloor 0.5 \rfloor + \lfloor 0.5 \rfloor \not \cong \lfloor 0.5+0.5 \rfloor\)
Consider a proposed monoidal monotone \(\mathbf{Bool}\xrightarrow{g}\mathbf{Cost}\) with \(g(false)=\infty, g(true)=0\)
Check that the map is monotonic and that it satisfies both properties of monoidal monotones.
Is g strict?
It is monotonic: \(\forall a,b \in \mathbb{B}: a\leq b \implies g(a)\leq g(b)\)
there is only one nonidentity case in \(\mathbf{Bool}\) to cover, and it is true that \(\infty\ \leq_\mathbf{Cost}\ 0\).
Condition on units: \(0 \leq_\mathbf{Cost} g(true)\) (actually, it is equal)
In \(\mathbf{Cost}\): \(g(x) + g(y) \geq g(x \land y)\)
if both true/false, the equality condition holds.
If one is true and one is false, then LHS and RHS are \(\infty\) (as \(x \land y = False\)).
Therefore this is a strict monoidal monotone.
Consider the following functions \(\mathbf{Cost} \xrightarrow{d,u} \mathbf{Bool}\)
\(d(x>0)\mapsto false,\ d(0)\mapsto true\)
\(u(x=\infty)\mapsto false,\ d(x < \infty) \mapsto true\)
For both of these, answer:
Is it monotonic?
If so, does it satsify the monoidal monotone properties?
If so, is it strict?
The function \(d\) asks “Is it zero?”, and the function \(u\) asks “Is it finite?”.
Both of these questions are monotone: as we traverse forward in \(\leq_{Cost}\), we traverse towards being zero or being finite.
The first monoidal monotone axiom is satisifed in both because the unit (\(0\)) is mapped to the unit (\(True\)).
The second monoidal monotone axiom holds for both because addition preserves both things being zero (or not) and both things being finite (or not).
These are strict because, in \(Bool\), equality and congruence coincide.
Is \((\mathbb{N},\leq,1,*)\) a symmetric monoidal preorder?
If so, does there exist a monoidal monotone \((\mathbb{N},\leq,0,+) \rightarrow (\mathbb{N},\leq,1,*)\)
Is \((\mathbb{Z},\leq,*,1)\) a symmetric monoidal preorder?
Yes. Monotonicity holds, and multiplication by 1 is unital. The operator is symmetric and associative.
Exponentiation (say, by \(2\)) is a strict monoidal monotone.
\(1 = 2^0\) and \(2^x * 2^y = 2^{x+y}\)
No: monotonicity does not hold (multiplying negative numbers gives a larger number).